package woaini.fenger.core.bot.event.message.impl;

import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import woaini.fenger.core.bot.event.Segment;

import java.io.Serializable;

/**
 * 视频
 * <a href="https://github.com/botuniverse/onebot-11/blob/master/message/segment.md#%E7%9F%AD%E8%A7%86%E9%A2%91">视频</a>
 * @see  Video
 * @author yefeng
 * {@code @Date} 2023-05-16 16:50:39
 */
@Getter
@Setter
public class Video extends Segment implements Serializable {


    private Data data;

    public Video(String file) {
        super("image");
        this.data = new Data(file);
    }

    @NoArgsConstructor
    @lombok.Data
    public static class Data implements Serializable {
        /** 快取 只在通过网络 URL 发送时有效，表示是否使用已缓存的文件，默认 1 */
        boolean cache = true;

        /** 是否通过代理发送文件 默认 0 */
        boolean proxy = false;

        /**
         * @see Long 超时时间 发送时有用 默认没用
         */
        Long timeout;

        /**
         * @see String 文件 绝对路径，例如 file:///C:\\Users\Richard\Pictures\1.png，格式使用 file URI 网络 URL，例如
         *     http://i1.piimg.com/567571/fdd6e7b6d93f1ef0.jpg Base64 编码，例如
         *     base64://iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAIAAADJt1n/AAAAKElEQVQ4EWPk5+RmIBcwkasRpG9UM4mhNxpgowFGMARGEwnBIEJVAAAdBgBNAZf+QAAAAABJRU5ErkJggg==
         */
        private String file;

        /**
         * @see String URL 图片访问地址 只有接收的时候有用
         */
        private String url;

        public Data(String file) {
            this.file = file;
        }
    }
}
